package com.ruoyi.system.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import com.ruoyi.common.core.validate.AddGroup;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.util.Date;

import java.io.Serializable;

/**
 * 工单池视图对象 kfn_work_order
 *
 * @author Panda
 * @date 2023-12-20
 */
@Data
@ExcelIgnoreUnannotated
public class KfnWorkOrderVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 工单号
     */
    @ExcelProperty(value = "工单号")
    private String workOrderId;

    /**
     * 工单类型
     */
    @ExcelProperty(value = "工单类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "work_order_type")
    private String workOrderType;

    /**
     * 第三方系统单号
     */
    @ExcelProperty(value = "第三方系统单号")
    private String thirdSysNumber;

    /**
     * 本单客户联系人
     */
    @ExcelProperty(value = "本单客户联系人")
    private String contacts;

    /**
     * 本单客户联系电话
     */
    @ExcelProperty(value = "本单客户联系电话")
    private String contactNumber;

    /**
     * 关联的店铺主键
     */
    @ExcelProperty(value = "关联的店铺主键")
    private String storeId;

    /**
     * 关联的店铺编号
     */
    @ExcelProperty(value = "关联的店铺编号")
    private String storeNumber;

    /**
     * 关联的店铺名
     */
    @ExcelProperty(value = "关联的店铺名")
    private String storeName;

    /**
     * 关联的店铺类型
     */
    @ExcelProperty(value = "关联的店铺类型")
    private String storeType;

    /**
     * 关联的店铺地址
     */
    @ExcelProperty(value = "关联的店铺地址")
    private String storeAddress;

    /**
     * 工单描述
     */
    @ExcelProperty(value = "工单描述")
    private String workOrderDescription;

    /**
     * 工单状态id
     */
    @ExcelProperty(value = "工单状态id", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "work_order_status")
    private String workOrderStatusId;

    /**
     * 工单响应超时
     */
    @ExcelProperty(value = "工单响应超时")
    private Long workOrderResponseTimeOver;

    /**
     * 工单上门超时
     */
    @ExcelProperty(value = "工单上门超时")
    private Long workOrderOnsiteTimeOver;

    /**
     * 工单处理超时
     */
    @ExcelProperty(value = "工单处理超时")
    private Long workOrderProcessingTimeOver;

    /**
     * 关联的项目id
     */
    @ExcelProperty(value = "关联的项目id")
    private String projectId;

    /**
     * 关联的项目编号
     */
    @ExcelProperty(value = "关联的项目编号")
    private String projectNumber;

    /**
     * 关联的项目名
     */
    @ExcelProperty(value = "关联的项目名")
    private String projectName;

    /**
     * 工单子状态id
     */
    @ExcelProperty(value = "工单子状态id", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "work_order_status_child")
    private String workOrderStatusIdChild;

    /**
     * 下包供应商
     */
    @ExcelProperty(value = "下包供应商")
    private String subcontractorSupplier;


}
